home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / os2 / elvis172.zip / amistat.h < prev    next >
C/C++ Source or Header  |  1993-01-06  |  2KB  |  49 lines

  1. #ifndef _SYS_STAT_H_
  2. #define _SYS_STAT_H_
  3.  
  4. #include <time.h>
  5. #include <exec/types.h>
  6.  
  7. struct  stat
  8. {
  9.     WORD    st_dev;        /* device number for dev containing file */
  10.     ULONG    st_ino;        /* inode's number */
  11.     ULONG    st_mode;    /* file type and perms */
  12.     WORD    st_nlink;    /* number of hard links for the file */
  13.     WORD    st_uid;        /* user ID of the file's owner */
  14.     WORD    st_gid;        /* group ID of the file's group */
  15.     WORD    st_rdev;    /* major and minor device numbers */
  16.     ULONG    st_size;    /* total size of file in bytes */
  17.     time_t    st_atime;    /* time of last access */
  18.     time_t    st_mtime;    /* time of last modification */
  19.     time_t    st_ctime;    /* time of last status change */
  20.     LONG    st_blksize;    /* optimal blocksize for I/O */
  21.     LONG    st_blocks;    /* actual number of blocks allocated */
  22.     LONG    st_rsize;
  23.     LONG    st_flags;    /* user defined flags for file */
  24.     LONG    st_gen;        /* file generation number */
  25.     LONG    st_attr;    /* protection bits from AZTEC_C */
  26. };
  27.  
  28. #define S_IFMT      0170000    /* type of file */
  29. #define          S_IFDIR    0040000    /* directory */
  30. #define          S_IFCHR    0020000    /* character special */
  31. #define          S_IFBLK    0060000    /* block special */
  32. #define          S_IFREG    0100000    /* regular */
  33. #define          S_IFLNK    0120000    /* symbolic link */
  34. #define          S_IFSOCK    0140000    /* socket */
  35. #define          S_IFIFO    0010000    /* FIFO (named pipe) */
  36. #define S_ISUID        0004000    /* set user id on execution */
  37. #define S_ISGID        0002000    /* set group id on execution */
  38. #define S_ISVTX        0001000    /* save swapped text even after use */
  39. #define S_IREAD        0000400    /* read permission, owner */
  40. #define S_IWRITE    0000200    /* write permission, owner */
  41. #define S_IEXEC        0000100    /* execute/search permission, owner */
  42.  
  43. #if    __STDC__
  44. extern int stat(const char *, struct stat *);
  45. extern int fstat(int, struct stat *);
  46. #endif /* __STDC__ */
  47.  
  48. #endif  _SYS_STAT_H_
  49.